Apparatus for selecting and displaying an operation user interface and method and non-transitory computer readable medium for controlling the same

ABSTRACT

An information processing apparatus includes an inclusion relation memory, a correspondence relation memory, a data type identifying unit, a software application identifying unit, and a display controller. The inclusion relation memory stores inclusion relation between multiple data types. The correspondence relation memory stores correspondence relation between the data types and software applications used in input of data. The data type identifying unit analyzes acquired information to identify a data type corresponding to an input area of the acquired information. The software application identifying unit identifies a software application corresponding to each data type included in the identified data type in accordance with the inclusion relation and the correspondence relation. The display controller displays a display part in which the identified software application is used in a display.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of application Ser. No. 13/768,099,filed Feb. 15, 2013, which is based on and claims priority under 35 USC119 from Japanese Patent Application No. 2012-154503 filed Jul. 10,2012, the entire disclosures of which are incorporated herein byreference.

BACKGROUND

(i) Technical Field

The present invention relates to an information processing apparatus, aninformation processing method, and a non-transitory computer readablemedium.

(ii) Related Art

Various mechanisms used to input data, such as character strings, areproposed. In HyperText Markup Language 5 (HTML5), type information isspecified for an input field tag in a manner in which <inputtype=“email”> to select an appropriate input device from input devices(a virtual keyboard, an address book, etc.) and display the selectedinput device.

SUMMARY

According to an aspect of the invention, there is provided aninformation processing apparatus including an inclusion relation memory,a correspondence relation memory, a data type identifying unit, asoftware application identifying unit, and a display controller. Theinclusion relation memory stores inclusion relation between multipledata types. The correspondence relation memory stores correspondencerelation between the data types and software applications used in inputof data. The data type identifying unit analyzes acquired informationthat is acquired to identify a data type corresponding to an input areaof the acquired information. The software application identifying unitidentifies a software application corresponding to each data typeincluded in the data type identified by the data type identifying unitin accordance with the inclusion relation stored in the inclusionrelation memory and the correspondence relation stored in thecorrespondence relation memory. The display controller displays adisplay part in which the software application identified by thesoftware application identifying unit is used in a display.

BRIEF DESCRIPTION OF THE DRAWINGS

Exemplary embodiments of the present invention will be described indetail based on the following figures, wherein:

FIG. 1 is a block diagram illustrating an example of the configurationof an information processing apparatus according to an exemplaryembodiment of the invention;

FIG. 2 illustrates an example of the content of inclusion relationinformation stored in an inclusion relation storage area;

FIG. 3 illustrates an example of the content of a correspondence tablestored in a correspondence relation storage area;

FIG. 4 is a block diagram illustrating an example of the functionalconfiguration of the information processing apparatus;

FIG. 5 illustrates an exemplary screen displayed in an operation displayunit;

FIG. 6 illustrates another exemplary screen displayed in the operationdisplay unit;

FIG. 7 is a flowchart illustrating an example of a process performed bythe information processing apparatus; and

FIG. 8 illustrates an exemplary screen displayed in an apparatus inrelated art.

DETAILED DESCRIPTION Configuration

FIG. 1 is a block diagram illustrating an example of the configurationof an information processing apparatus 100 according to an exemplaryembodiment of the invention. The information processing apparatus 100is, for example, a smartphone, a mobile phone, or a tablet computer. Asillustrated in FIG. 1, each component in the information processingapparatus 100 is connected to a bus 11. Data is exchanged between thecomponents via the bus 11. In the present exemplary embodiment, theinformation processing apparatus 100 reads a document described in amarkup language, such as HTML5, to execute a variety of processing inaccordance with the content of the document. Referring to FIG. 1, acontrol unit 12 includes a processor 121, such as a central processingunit (CPU), a read only memory (ROM) 122, and a random access memory(RAM) 123. The control unit 12 controls the information processingapparatus 100 in accordance with computer programs stored in the ROM 122or a storage unit 13. The storage unit 13 is a storage device, such as ahard disk. Various programs including programs concerning the control ofthe information processing apparatus 100 are stored in the storage unit13. An operation display unit 14 (an example of a display and anoperation unit) is provided with a liquid crystal display functioning asa touch panel. A user of the information processing apparatus 100touches the liquid crystal display to perform various operations. Acommunication unit 15 is an interface to communicate with anotherapparatus in a wired manner or wirelessly.

The storage unit 13 includes an inclusion relation storage area 131 anda correspondence relation storage area 132. Information (hereinafterreferred to as “inclusion relation information”) indicating theinclusion relation between data types that may be specified for theinput field tag (<input type=“”>) of HTML5 is stored in the inclusionrelation storage area 131.

FIG. 2 illustrates an example of the content of the inclusion relationinformation stored in the inclusion relation storage area 131. In theexample illustrated in FIG. 2, the inclusion relation between multipledata types T1, T2, . . . , and T8 is indicated by using a treestructure. The data types T1, T2, . . . , and T8 are specified by themarkup language. The upper data types have higher levels of versatilityand the lower data types have limited applications in the exampleillustrated in FIG. 2. Specifically, the character string type T1includes the other data types T2 to T8. The numeric value type T5includes the floating point type T6, the integer type T7, and thecurrency type T8, as illustrated in FIG. 2. The inclusion relationinformation may be any information as long as the information indicatesthe inclusion relation between the data types T1, T2, . . . , and T8.Specifically, for example, the inclusion relation information mayindicate the inheritance relation between the data types using a pointeror may represent the correspondence relation between a data type andeach data type included in the data type using a table.

The correspondence relation between the data types and softwareapplications (hereinafter referred to as “input software applications”)used as input devices of data is stored in the correspondence relationstorage area 132. In the present exemplary embodiment, a table(hereinafter referred to as a “correspondence table”) representing thecorrespondence relation between the kinds of the data types and theinput software applications is stored in the correspondence relationstorage area 132. FIG. 3 illustrates an example of the content of thecorrespondence table. As illustrated in FIG. 3, the items in “data type”and “input device” are stored in the correspondence table in associationwith each other. Among these items, information indicating the kind ofeach data type is stored in the items in “data type” and informationindicating the kind of each input software application used as the inputdevice is stored in the items in “input device.” Specifically, forexample, a “virtual keyboard” input software application is associatedwith the “character string type.” An “address book” input softwareapplication is associated with the “mail address type” and the“telephone number type.” Two input software applications including the“address book” input software application and a “bookmark” inputsoftware application are associated with the “URL type.” Two inputsoftware applications including a “virtual numeric keypad” inputsoftware application and a “calculator” input software application areassociated with the “numeric value type.” A “currency converter” inputsoftware application is associated with the “currency type.”

The “virtual keyboard” input software application has a function torealize a virtual keyboard on a touch panel. The “address book” inputsoftware application has a function to display a list of mail addressesor a list of telephone numbers. The “bookmark” input softwareapplication has a function to display a list of Uniform ResourceLocators (URLs) that is book-marked. The “virtual numeric keypad” inputsoftware application has a function to virtually realize a numerickeypad on the touch panel. The “calculator” input software applicationhas a function to virtually realize a calculator on the touch panel. The“currency converter” input software application has a function todisplay a currency converter on the touch panel.

The functional configuration of the information processing apparatus 100will now be described with reference to FIG. 4. FIG. 4 is a blockdiagram illustrating an example of the functional configuration of theinformation processing apparatus 100. Referring to FIG. 4, a data typeidentifying unit 1, an input device identifying unit 2, and a displaycontrol unit 4 are realized by the control unit 12 that reads out thecomputer programs stored in the ROM 122 or the storage unit 13 toexecute the computer programs that are read out. Arrows in FIG. 4schematically indicate flows of data. The data type identifying unit 1acquires a piece of content (an example of acquired information)described in the markup language to identify the kind of the data type(the data type corresponding to an input area of the acquiredinformation) specified by the acquired piece of content (text file). Inthe present exemplary embodiment, the data type identifying unit 1acquires information (input data type specifying information) specifyingthe data type specified by the <input type> tag of HTML5.

The input device identifying unit 2 (an example of a softwareapplication identifying unit) identifies the input software applicationcorresponding to each data type included in the data type identified bythe data type identifying unit 1 in accordance with the inclusionrelation stored in the inclusion relation storage area 131 and thecorrespondence relation stored in the correspondence relation storagearea 132. Specifically, in the present exemplary embodiment, the inputdevice identifying unit 2 first identifies each data type included inthe data type identified by the data type identifying unit 1 inaccordance with the inclusion relation information stored in theinclusion relation storage area 131. Then, the input device identifyingunit 2 identifies the input software application corresponding to theidentified data type in accordance with the correspondence table storedin the correspondence relation storage area 132.

More specifically, for example, when the data type identified by thedata type identifying unit 1 is the “character string type”, the inputdevice identifying unit 2 identifies the data types included in the“character string type”, that is, the “character string type”, the “mailaddress type”, the “telephone number type”, the “URL type”, the “numericvalue type”, the “floating point type”, the “integer type”, and the“currency type” to identify the input software applicationscorresponding to the identified data types, that is, the “virtualkeyboard”, the “address book”, the “bookmark”, the “virtual numerickeypad”, the “calculator”, and the “currency converter.” For example,when the data type identified by the data type identifying unit 1 is the“numeric value type”, the input device identifying unit 2 identifies thedata types included in the “numeric value type”, that is, the “numericvalue type”, the “floating point type”, the “integer type”, and the“currency type” to identify the input software applicationscorresponding to the data types, that is, the “virtual numeric keypad”,the “calculator”, and the “currency converter.”

The display control unit 4 selects one or more software applicationsfrom the input software applications identified by the input deviceidentifying unit 2 in accordance with a predetermined algorithm. In thepresent exemplary embodiment, the display control unit 4 selects theinput software applications corresponding to the data type an inclusionrange of which meets a predetermined condition. Specifically, thedisplay control unit 4 selects the input software applicationcorresponding to the uppermost data type in the inheritance treeillustrated in FIG. 2 as the input software application that is to befirst displayed on the screen (hereinafter referred to as a “defaultdisplay software application”) and selects the input softwareapplications that are searched second and third in the search from thetop, among the input software applications corresponding to the secondand subsequent data types in the inheritance tree, as the input softwareapplications that are to be displayed as buttons (hereinafter referredto as “sub-display software applications”).

More specifically, for example, when the “character string type” isidentified by the data type identifying unit 1, the display control unit4 selects the “virtual keyboard”, which is the input softwareapplication corresponding to the “character string type”, as the defaultdisplay software application and selects the two input softwareapplications: the “address book”, which is the input softwareapplication corresponding to the “mail address type”, the “telephonenumber type”, and the “URL type”, and the “calculator”, which is theinput software application corresponding to the “numeric value type”, asthe sub-display software applications. When multiple input softwareapplications corresponds to one data type (for example, the “numericvalue type” and the “URL type”), the display control unit 4 selects anyof the input software applications in accordance with a predeterminedalgorithm. Specifically, for example, priorities may be set for theinput software applications and the display control unit 4 may selectthe input software applications in accordance with their priorities.

In addition, the display control unit 4 displays display parts (anoperation user interface, a button, etc.) in which the selected inputsoftware applications are used in the operation display unit 14. FIG. 5illustrates an example of the display parts displayed by the displaycontrol unit 4. In the example illustrated in FIG. 5, the displaycontrol unit 4 activates the “virtual keyboard” software applicationselected as the default display software application and displays anoperation user interface A1 (the display part that accepts data input byan operation by the user) for the activated software application in theoperation display unit 14. The display control unit 4 also displays abutton B1 for activating the “address book” software applicationselected as the sub-display software application (for switching thedisplay of the input screen to the “address book” software application)and a button B2 for activating the “calculator” software application(for switching the display of the input screen to the “calculator”software application) in the operation display unit 14.

The user inputs data in accordance with the screen displayed in theoperation display unit 14. Specifically, for example, the user inputsdata, such as a character string”, with the operation user interface A1of the “virtual keyboard” software application. The operation displayunit 14 outputs information corresponding to the content of theoperation by the user. The control unit 12 accepts the input of the datain accordance with the information output from the operation displayunit 14 to perform a variety of processing, such as the display of theinput character string. In addition, the user presses the button B1 toactivate the “address book” software application or presses the buttonB2 to activate the “calculator” software application. Specifically, forexample, when information indicating that the button B1 is pressed(selected) is output from the operation display unit 14, the controlunit 12 activates the “address book” software application to switch theoperation user interface (the display part accepting data input by theuser) to be displayed in the operation display unit 14 from the “virtualkeyboard” to the “address book.” The control unit 12 may end the“virtual keyboard” input software application or may suspend the“virtual keyboard” input software application, instead of ending the“virtual keyboard” input software application.

FIG. 6 illustrates an exemplary screen displayed when the button B1 ispressed by the user in the example in FIG. 5. In the example illustratedin FIG. 6, in response to pressing of the button B1, an address booklist A2 is displayed in the operation display unit 14 by the “addressbook” input software application, and a button B3 for activating the“virtual keyboard” input software application (that is, for switchingthe content of display in the display area where the address book listA2 is displayed) and the button B2 for activating the “calculator” inputsoftware application are displayed in the operation display unit 14. Theuser performs an operation, such as a copy and paste operation, for anaddress displayed in the address book list A2 on the screen illustratedin FIG. 6 to input the address.

FIG. 8 illustrates an example of a screen displayed in an apparatus inrelated art. As illustrated in FIG. 8, only the user interface (theoperation user interface A1 for the “virtual keyboard” input softwareapplication) corresponding to the data type specified by the <inputtype> tag is displayed and an image, such as a button, for switching toanother input software application is not displayed in the apparatus inthe related art. Accordingly, it is necessary for the user to perform aseries of operations including activation of an address book or abrowser, copying and pasting of an address or a URL, and closing of theactivated address book or the browser each time the user wants to inputa mail address, a URL, or the like in the apparatus in the related art.These operations are usually complicated. In contrast, in the presentexemplary embodiment, for example, when the user wants to input a mailaddress in the screen illustrated in FIG. 5, the display is switched tothe address book in response to pressing of the button B1 displayed onthe screen. As described above, it is possible to easily activate eachsoftware application other than the input software applicationcorresponding to the data type specified by the <input type> tag in thepresent exemplary embodiment.

Operation

FIG. 7 is a flowchart illustrating an example of a process performed bythe control unit 12 in the information processing apparatus 100. Theprocess illustrated in FIG. 7 is executed in response to acquisition ofa piece of content described in the markup language by the control unit12. Referring to FIG. 7, in Step S1, the control unit 12 analyzes thepiece of content described in the markup language to identify the datatype specified as the <input type> tag. In Step S2, the control unit 12identifies the input software application corresponding to each datatype included in the identified data type in accordance with theinclusion relation stored in the inclusion relation storage area 131 andthe correspondence relation stored in the correspondence relationstorage area 132. In Step S3, the control unit 12 selects one or moreinput software applications from the identified input softwareapplications in accordance with a predetermined algorithm.

In Step S4, the control unit 12 displays an image corresponding to eachinput software application that is selected in the operation displayunit 14. Specifically, the control unit 12 displays an imagecorresponding to the input software application selected as the defaultdisplay software application in the operation display unit 14 anddisplays the button for activating each input software applicationselected as the sub-display software application in the operationdisplay unit 14.

The user inputs data in accordance with the screen displayed in theoperation display unit 14. When the user wants to input a mail address,the user may directly input the mail address with the virtual keyboardor may press the button B1 for activating the address book to activatethe address book.

Upon pressing of the button B1 or the button B2 by the user, theoperation display unit 14 outputs information corresponding to thecontent of the operation. In step S5, the control unit 12 determineswhether the button B1 or the button B2 is pressed in accordance with theinformation output from the operation display unit 14. If the controlunit 12 determines that the button B1 or the button B2 is pressed (YESin Step S5), in Step S6, the control unit 12 activates the inputsoftware application corresponding to the pressed button. Specifically,for example, when the button B1 is pressed in the example illustrated inFIG. 5, the control unit 12 activates the address book and displays animage corresponding to the address book in the operation display unit14. As described above, in the present exemplary embodiment, since thebutton B1 and the button B2 for switching to the input softwareapplications other than the input software application corresponding tothe data type specified by the <input type> tag of HTML5 are displayedin the operation display unit 14, it is possible to easily switch toanother input software application.

Modifications

While the invention is described in terms of some specific examples andembodiments, it will be clear that this invention is not limited tothese specific examples and embodiments and that many changes andmodifications will be obvious to those skilled in the art withoutdeparting from the spirit and scope of the invention. The followingmodifications may be combined with each other.

(1) Although the display control unit 4 selects one or more inputsoftware applications corresponding to the data type the inclusion rangeof which meets a predetermined condition in the above exemplaryembodiments, the mode of selecting the input software applications isnot limited to this. For example, the display control unit 4 may selectthe input software applications to be displayed in the operation displayunit 14 on the basis of the level of versatility of each data type. Inthis case, specifically, a versatility information storage area 133(illustrated by a dotted line in FIG. 1) that stores versatilityinformation indicating the level of versatility of each data type may beprovided in the storage unit 13 in the information processing apparatus100. The display control unit 4 may sort the input software applicationsidentified by the input device identifying unit 2 on the basis of theversatility information about the data types corresponding to therespective input software applications to select one or more inputsoftware applications in accordance with the result of the sorting. Morespecifically, the display control unit 4 may select the input softwareapplication having the highest level of versatility indicated by theversatility information as the default display software application andmay select the input software applications having the second and thirdlevels of versatility as the sub-display software applications.

In another mode of selecting the input software applications, forexample, the display control unit 4 may select the input softwareapplications to be displayed in the operation display unit 14 on thebasis of the usage frequency of each data type. In this case,specifically, a usage-frequency information storage area 134(illustrated by a dotted line in FIG. 1) that stores usage-frequencyinformation indicating the usage frequency of each data type may beprovided in the storage unit 13 in the information processing apparatus100. The display control unit 4 may sort the input software applicationsidentified by the input device identifying unit 2 on the basis of theusage-frequency information about the data types corresponding to therespective input software applications to select one or more inputsoftware applications in accordance with the result of the sorting. Morespecifically, the display control unit 4 may select the input softwareapplication having the highest usage frequency indicated by theusage-frequency information as the default display software applicationand may select the input software applications having the second andthird usage frequencies as the sub-display software applications.

In another mode, for example, the display control unit 4 may select oneor more input software applications on the basis of the display size ofthe button for activating each input software application identified bythe input device identifying unit 2 and the size of the display area ofthe buttons. Specifically, for example, the display control unit 4 mayselect the input software applications on the basis of the size of thebutton corresponding to each input software application and the size ofthe display area of the buttons so that the number of buttons to bedisplayed in the display area meets a predetermined condition.

As described above, various modes of selecting the input softwareapplications may be applied. Any mode of selecting the input softwareapplications may be used as long as the display control unit 4 selectsone or more software applications from the software applicationsidentified by the input device identifying unit 2 in accordance with apredetermined algorithm.

Although the display control unit 4 selects one or more softwareapplications from the software applications identified by the inputdevice identifying unit 2 in the above exemplary embodiments, thedisplay control unit 4 may not select the software applications. Thatis, the display part corresponding to each software applicationidentified by the input device identifying unit 2 may be displayed inthe operation display unit 14 in the configuration in which the displaycontrol unit 4 does not select the software applications.

(2) Although the display control unit 4 selects one default displaysoftware application and two sub-display software applications in theabove exemplary embodiments, the numbers of the input softwareapplications that are selected is not limited to the above ones. Forexample, the display control unit 4 may select one default displaysoftware application and three sub-display software applications. Inanother mode, for example, the display control unit 4 may select theinput software applications the levels of versatility of which arehigher than or equal to a predetermined threshold value (an arbitrarynumber of input software applications may be selected). It is sufficientfor the display control unit 4 to select one or more softwareapplications from the software applications identified by the inputdevice identifying unit 2 in accordance with a predetermined algorithm.

(3) Although HTML5 is exemplified as the markup language analyzed by theinformation processing apparatus 100 in the above exemplary embodiments,the markup language is not limited to HTML5. For example, another markuplanguage, such as Wireless Markup Language (WML), may be analyzed by theinformation processing apparatus 100.

Although the input of a character string is mainly described in theabove exemplary embodiments, the data input into the informationprocessing apparatus 100 is not limited to the data representing acharacter string and may be data representing an image. The dataindicated by the data type according to the exemplary embodiment of theinvention is not limited to a character string and may include otherdata, such as an image.

(4) The content of storage in the inclusion relation storage area 131and the correspondence relation storage area 132 may be changed by theuser in the above exemplary embodiment. Specifically, the control unit12 may perform processes of changing the content of storage, such asregistration of the data types in the correspondence relation storagearea 132, deletion of the registered data types, registration of theinput software applications, and deletion of the registered inputsoftware applications, in accordance with the information output fromthe operation display unit 14. Alternatively, the control unit 12 maychange the inclusion relation stored in the inclusion relation storagearea 131 in accordance with the information output from the operationdisplay unit 14.

(5) The programs stored in the ROM 122 or the storage unit 13 describedabove may be provided in a state in which the programs are stored on acomputer-readable recording medium, such a magnetic recording medium (amagnetic tape, a magnetic disk (hard disk drive (HDD)), a flexible disk(FD), etc.), an optical recording medium (an optical disk, etc.), amagneto-optical recording medium, or a semiconductor memory.Alternatively, the programs may be downloaded into the informationprocessing apparatus 100 via a communication line, such as the Internet.

The foregoing description of the exemplary embodiments of the presentinvention has been provided for the purposes of illustration anddescription. It is not intended to be exhaustive or to limit theinvention to the precise forms disclosed. Obviously, many modificationsand variations will be apparent to practitioners skilled in the art. Theembodiments were chosen and described in order to best explain theprinciples of the invention and its practical applications, therebyenabling others skilled in the art to understand the invention forvarious embodiments and with the various modifications as are suited tothe particular use contemplated. It is intended that the scope of theinvention be defined by the following claims and their equivalents.

What is claimed is:
 1. An information processing apparatus comprising: amemory that stores a relation between a data type and another data type,stores a correspondence relation between the data type and the anotherdata type, and stores software applications used in input of data; and adisplay controller that displays a display part to use an identifiedsoftware in the case, wherein a data type corresponding to an input areaof acquired information and a software application corresponding to eachdata type included in the data type are identified from the memory.
 2. Anon-transitory computer-readable medium having embodied thereon aprogram causing an information processing apparatus to: store a relationbetween a data type and another data type, store a correspondencerelation between the data type and the another data type, and storesoftware applications used in input of data; and display a display partto use an identified software in the case, identifying from the memory adata type corresponding to an input area of acquired information and asoftware application corresponding to each data type included in thedata type.